Groovy এবং Java একটি সঙ্গে কাজ করতে পারে, কারণ Groovy সম্পূর্ণভাবে Java Virtual Machine (JVM) এর উপর চলে এবং Java এর সাথে সম্পূর্ণরূপে সামঞ্জস্যপূর্ণ। Groovy ক্লাস এবং মেথড Java থেকে কল করা সম্ভব, এবং Groovy এর সরল সিনট্যাক্স Java ক্লাসের সাথে একত্রে ব্যবহার করা যায়। Groovy কোডের সাথে Java কোড মেশানো খুবই সহজ এবং এর জন্য কোনো বিশেষ কনফিগারেশন প্রয়োজন হয় না।
Groovy ক্লাস Java এর মতো একইভাবে তৈরি করা যায়, তবে Groovy ক্লাসের সিনট্যাক্স অনেক বেশি সংক্ষিপ্ত এবং সহজ।
// GroovyClass.groovy
class GroovyClass {
String greet(String name) {
return "Hello, $name!"
}
}
এখানে GroovyClass
নামের একটি ক্লাস তৈরি করা হয়েছে, যার মধ্যে একটি greet()
মেথড রয়েছে যা একটি স্ট্রিং আর্গুমেন্ট গ্রহণ করে এবং একটি গ্রীটিং মেসেজ রিটার্ন করে।
Java থেকে Groovy কোড কল করার জন্য আপনাকে Groovy ক্লাসটি কম্পাইল এবং রান করতে হবে। Groovy থেকে তৈরি করা মেথড বা ক্লাস Java থেকে কল করতে Java কোডে কিছু পরিবর্তন করতে হবে।
import groovy.lang.GroovyClassLoader;
public class JavaCaller {
public static void main(String[] args) {
try {
// GroovyClass.groovy ফাইলটি লোড করা
GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
Class groovyClass = groovyClassLoader.parseClass(new java.io.File("GroovyClass.groovy"));
// Groovy ক্লাসের একটি ইনস্ট্যান্স তৈরি করা
Object groovyObject = groovyClass.newInstance();
// Groovy ক্লাসের greet() মেথড কল করা
java.lang.reflect.Method method = groovyClass.getMethod("greet", String.class);
String result = (String) method.invoke(groovyObject, "John");
// ফলাফল প্রদর্শন
System.out.println(result); // Output: Hello, John!
} catch (Exception e) {
e.printStackTrace();
}
}
}
এখানে, GroovyClass.groovy
ফাইলটি Java কোডে GroovyClassLoader
ব্যবহার করে লোড করা হয়েছে। এরপর Groovy ক্লাসের একটি ইনস্ট্যান্স তৈরি করা হয়েছে এবং greet()
মেথড কল করা হয়েছে।
Java থেকে Groovy মেথড কল করার জন্য Groovy ক্লাসের Method
অবজেক্ট ব্যবহার করতে হবে, যেটি Java রিফ্লেকশন API এর মাধ্যমে Groovy মেথডকে এক্সিকিউট করবে।
import groovy.lang.GroovyShell;
public class JavaCaller {
public static void main(String[] args) {
try {
// GroovyShell ব্যবহার করে Groovy কোড রান করা
GroovyShell groovyShell = new GroovyShell();
// Groovy স্ক্রিপ্ট রান করা
String script = "def greet(name) { return 'Hello, ' + name }";
Object result = groovyShell.evaluate(script, "greet('Alice')");
// ফলাফল প্রদর্শন
System.out.println(result); // Output: Hello, Alice
} catch (Exception e) {
e.printStackTrace();
}
}
}
এখানে, GroovyShell
ব্যবহার করে Groovy স্ক্রিপ্ট রান করা হয়েছে এবং Java থেকে সরাসরি Groovy মেথড কল করা হয়েছে। এটি একটি স্বতন্ত্র মেথড নয়, বরং Groovy স্ক্রিপ্ট যা Java তে এক্সিকিউট করা হয়েছে।
Groovy তে তৈরি করা Groovy Beans Java Beans এর মতো ব্যবহার করা যেতে পারে। Groovy Beans সাধারণত একটি সহজ সিনট্যাক্সে ডিফাইন করা হয়, তবে Java Beans এর মতো Groovy তেও getter এবং setter মেথড থাকে।
class Person {
String name
int age
}
এখন, এই Groovy Bean এর সাথে Java থেকে কাজ করা যাবে:
public class JavaBeanExample {
public static void main(String[] args) {
// Groovy Bean এর একটি ইনস্ট্যান্স তৈরি করা
Person person = new Person();
person.setName("John");
person.setAge(30);
// Groovy Bean এর প্রপার্টি অ্যাক্সেস করা
System.out.println("Name: " + person.getName()); // Output: Name: John
System.out.println("Age: " + person.getAge()); // Output: Age: 30
}
}
এখানে, Groovy Bean এর getter এবং setter মেথডগুলি Java থেকে ব্যবহার করা হয়েছে।
Groovy এবং Java এর মধ্যে পুরোপুরি Seamless Integration রয়েছে, যেটি Groovy কোডকে Java প্রোজেক্টে সহজেই অন্তর্ভুক্ত করা সম্ভব করে তোলে। Groovy কোড Java প্রোজেক্টে লোড করা, চালানো এবং Java ক্লাসের সাথে মিশিয়ে ব্যবহার করা খুবই সহজ।
Groovy এবং Java উভয়েরই একসাথে ব্যবহার করা সম্ভব এবং এটি JVM ভিত্তিক হওয়ায় সহজেই একে অপরের সাথে ইন্টিগ্রেট হতে পারে। Java থেকে Groovy ক্লাস এবং মেথড কল করতে GroovyClassLoader, GroovyShell, এবং Java রিফ্লেকশন ব্যবহার করা হয়। Groovy এর শক্তিশালী সিনট্যাক্স এবং Java এর সাথে পূর্ণ সামঞ্জস্যের কারণে Groovy কোড Java প্রোজেক্টে সহজেই ব্যবহৃত হতে পারে, যা ডেভেলপারদের উন্নত কোডিং অভিজ্ঞতা প্রদান করে।
common.read_more